package demo6;

import java.util.ArrayList;
import java.util.Arrays;

/**
 * @program: java-generic
 * @description: 泛型与数组
 * @author: bjc
 * @create: 2021-08-15 16:13
 */
public class Main {

    public static void main(String[] args) {
//        可以声明带泛型的数组引用，但是不能直接创建带泛型的数组对象
//        ArrayList<String>[] listArr = new ArrayList<5>(); 会报错

        //这样可以创建  但是会有隐患
//        ArrayList[] list = new ArrayList[5];
//        ArrayList<String>[] listArr = list;
//
//        ArrayList<Integer> integers = new ArrayList<>();
//        integers.add(100);
//        //这样不会报错，但是上面声明的是一个Integer的集合确赋值给了list
//        list[0] = integers;
//
//        String s = listArr[0].get(0);
//        System.out.println(s);

        //优化

        //优化
        ArrayList<String>[] listArr2 =  new ArrayList[5];
        ArrayList<String> strings = new ArrayList<>();
        strings.add("abc");
        listArr2[0] = strings;
        String s2 = listArr2[0].get(0);
        System.out.println(s2);

        System.out.println("------------------------");
        Fruit<String> fruit = new Fruit<>(String.class, 3);
        fruit.put(0,"a");
        fruit.put(1,"b");
        fruit.put(2,"c");
        System.out.println(Arrays.toString(fruit.getArray()));
    }
}
